Field of the Disclosure
The disclosure relates to the field of communications networks. The technique relates more particularly to the transmission of data in wireless communications networks. The technique relates even more specifically to the securing of data transmission in energy-saving wireless communications networks. Generally, such securing takes place by the transmission of encrypted data. The present technique also relates to the transmission of encrypted data in an energy-saving communications network, the communications devices of which have limited quantities of memory.
Description of the Related Art
Data encryption techniques are used when data transmitted through a communications network needs to be protected. There are numerous data encryption techniques. These can be divided into two general classes: symmetrical encryption in which each of the parties that are communicating know a key that is used to both encrypt and decrypt the data; and asymmetrical encryption based on a pair of keys: a public key and a private key. These two classes of encryption techniques are used to resolve particular problems of data encryption. For example, symmetrical encryption is adapted to the secured saving of data. Indeed, since data is not intended for transmission to a third party, it is simpler to have a single key to encrypt this data, said key being kept by the user so that this data can be re-accessed. Conversely, when data has to be exchanged through a communications network, the use of symmetrical encryption is preferable. For example, during a communications session, two entities wishing to communicate generate two pairs of private/public keys. These two pairs of keys are used to encrypt and decrypt data after their transmission.
Symmetrical cryptography is used on a large scale because it is capable of providing important functions such as high-bit-rate, low-cost encryption, message authentication and efficient hashing. The term used for example is “authenticated encryption”, designed to provide data confidentiality as well as data integrity and authenticity. Thus, symmetrical encryption algorithms are used in mobile telephones, credit cards and other cases of wireless connections. These functions rely on the use of cryptographic primitives such as block encryption, stream encryption or hash functions. Block encryption is a reliable and efficient technique: algorithms designed over the past decade are still capable of withstanding any hacking attempt in a classic context. Thus, resistance to statistical attacks on the AES algorithm (a much used symmetrical primitive) has been proven. The AES algorithm offers sufficient performance for a wide range of contexts of use.
A primitive symmetrical such as AES is considered to be reliable in classic security models when it is difficult to distinguish its outputs from random strings. However, in many applications, cryptography is used in the context where hackers or attackers have access to information channels known as auxiliary information channels which are not covered in classic security models. For example, an implementation of a pay television system must be protected against a hacker who has physical access to the equipment and can measure certain physical variables when making calculations in order to retrieve the key. In extreme cases, the hacker can even have the capacity to read the memory and extract the keys therefrom. Such attacks are called concealed channel attacks.
In such contexts, numerous implementations are vulnerable to attacks made through concealed channels. Besides, the designing of a block encryption algorithm is limited to the definition of one parameterized permutation per key. They are often used to protect the confidentiality or the integrity of a piece of data. To this end, they must be formed according to an appropriate method of operating. Thus, most applications seeking to protect the confidentiality of a piece of data also require the protection of its integrity. This situation leads to a great need for efficient methods of operation combining these two properties.
Besides, the situation made even more complex by the appearance of new needs and novel applications. Indeed, existing implementations are suited to certain types of devices: these are devices that have major resources at their disposal, in terms of both computation power and memory. Indeed, present-day communications terminals such as smart phones or tablets are equal to personal computers or laptops. However, existing implementations are not suited to devices using energy-efficient networks: these are for example connected objects that use energy-efficient communications networks, of the LORA type. In this type of communications network, it is necessary not to over-use the resources needed to ensure long service life for the devices (so as not to use too many resources, for example batteries). Indeed, one of the characteristics of objects known as connected objects is that they work on batteries. Now, the function that most uses this battery is the communications function (data reception and transmission). Thus present applications, which use many resources for cryptographic computations and many resources for data transmission/reception, are not suited to the Internet of Things.
There is therefore a need to provide an implementation of this kind.